﻿namespace Actors.Actions
{
    public interface IActionExecutor
    {
        /// <summary>
        /// is capable of executing the action
        /// </summary>
        /// <param name="action"> action that to be executed</param>>
        /// <returns>True if executor has handler of this action</returns>
        bool CanExecute(Action action);
        
        /// <summary>
        /// execute the action
        /// </summary>
        /// <param name="action"> action that to be executed</param>>
        /// <returns>True if the action is executed successfully</returns>
        bool ExecuteAction(Action action);
    }
}